Приложение 2. Конфигурация асинхронных сервисов VALO Cloud
Асинхронные сервисы VALO Cloud предназначены для:
- обработки файлов, возникающих после загрузки их в Систему или изменения в онлайн-редакторе;
- выполнения периодических задач;
- информирования пользователей о произошедших системных и бизнес-событиях.
Настройки сервисов хранятся в конфигурационном файле:
$WILDFLY_HOME/standalone/configuration/valo-services.xml
Конфигурационный файл valo-services.xml позволяет определить:
- общие настройки сервисов, перечисленные с идентификатором
"DEFAULT", - уникальные настройки конкретного сервиса.
На данный момент в Системе существуют такие сервисы:
- Сервис синхронизации мета-информации с клиентскими устройствами (
SYNCHRO-POOL)
Параметры сервиса SYNCHRO-POOL:
| Параметр | Описание |
|---|---|
broker-url | failover список доступных межсервисных брокеров в формате failover://tcp://localhost:61616… |
client-broker-url | Список доступных клиентских брокеров в формате stomp://localhost:61613,ws://localhost:61614 |
- Сервис журналирования (
JOURNAL-SERVICE)
Сервис JOURNAL-SERVICE позволяет осуществлять запись журналов VALO Cloud в:
- поисковую систему ElasticSearch
- SIEM-системы (SYSLOG)
Возможные параметры сервиса JOURNAL-SERVICE:
| Параметр | Описание |
|---|---|
log-type | Тип регистратора (SYSLOG, ELASTIC) |
Параметры для SYSLOG:
| Параметр | Описание |
|---|---|
pretty-json | Тип верстки сообщения (pretty-json / plain text). По умолчанию — false (plain text) |
data-log-prefix | Префикс лога журнала данных |
auth-log-prefix | Префикс лога журнала аутентификации |
rights-log-prefix | Префикс лога журнала изменения прав доступа |
Для логирования в SIEM-системы (SYSLOG) необходимо настроить обработчик на сервере приложений, например:
<сюда можно вставить пример конфигу рации обработчика, если потребуется>
Если нужно, могу также привести пример настройки valo-services.xml или обработчика для SYSLOG.


Шаблон форматирования и категории журналирования log.auth, log.data, log.rights:

Настройка журналирования в VALO Cloud
В результате настройки журналирования в файле $WILDFLY_HOME/standalone/configuration/standalone.xml должна быть представлена следующая информация, например, для пользовательского обработчика:
<custom-handler name="SYSLOG" class="org.jboss.logmanager.handlers.SyslogHandler" module="org.jboss.logmanager">
<encoding value="UTF-8"/>
<formatter>
<named-formatter name="SYSLOG-PATTERN"/>
</formatter>
<properties>
<property name="appName" value="valo"/>
<property name="facility" value="LOCAL_USE_7"/>
<property name="level" value="INFO"/>
<property name="serverHostname" value="localhost"/>
<property name="hostname" value="localhost"/>
<property name="port" value="514"/>
<property name="syslogType" value="RFC3164"/>
<property name="protocol" value="TCP"/>
<property name="messageDelimiter" value=""/>
<property name="useMessageDelimiter" value="false"/>
<property name="maxLength" value="9000"/>
<property name="truncate" value="false"/>
</properties>
</custom-handler>
<logger category="log.auth" use-parent-handlers="false">
<level name="INFO"/>
<handlers>
<handler name="SYSLOG"/>
</handlers>
</logger>
<logger category="log.data" use-parent-handlers="false">
<level name="INFO"/>
<handlers>
<handler name="SYSLOG"/>
</handlers>
</logger>
<logger category="log.rights" use-parent-handlers="false">
<level name="INFO"/>
<handlers>
<handler name="SYSLOG"/>
</handlers>
</logger>
<formatter name="SYSLOG-PATTERN">
<pattern-formatter pattern="%K{level}%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] %s%n"/>
</formatter>
Для приведённой конфигурации будет осуществляться запись журналов VALO Cloud в смежную систему SIEM/SYSLOG, расположенную по адресу localhost:514 (serverHostname:port), по протоколу TCP с использованием протокола SYSLOG, описанного в RFC 3164, с хоста localhost (hostname). В зависимости от смежной SIEM/SYSLOG системы шаблон форматирования pattern-formatter может отличаться.
Запись журналов в ElasticSearch
Для записи журналов приложений VALO Cloud в поисковую систему ElasticSearch требуется указание индексов.
Индексы необходимо указывать в настройках сервиса ELASTIC-DAO (описание см. ниже). Сам сервис ELASTIC-DAO также должен быть сконфигурирован, а экземпляр ElasticSearch — доступен.
Возможные параметры сервиса ELASTIC-DAO для журналирования:
| Параметр | Описание |
|---|---|
elastic-log-data-index | Индекс журнала данных |
elastic-log-auth-index | Индекс журнала аутентификации |
elastic-log-rights-index | Индекс журнала изменения прав доступа |
Журналирование BPM-движка Camunda
Журналирование BPM-движка для автоматизации бизнес-процессов (Camunda) осуществляется путём настройки категории регистратора (logger category) org.camunda в файле:
$WILDFLY_HOME/standalone/configuration/standalone.xml
Например, для записи в файл:
<logger category="org.camunda" use-parent-handlers="false">
<level name="INFO"/>
<handlers>
<handler name="FILE"/>
</handlers>
</logger>
Дополнительные сервисы VALO Cloud
- Сервис разбора содержимого и мета-информации загруженного файла (
ES-SERVICE)
Предназначен для дальнейшей публикации данных в ElasticSearch.
Параметры сервиса ES-SERVICE:
| Параметр | Описание |
|---|---|
max-chars | Максимальное количество символов индексации |
- Сервис публикации, обновления, удаления, поиска мета-информации в ElasticSearch (
ELASTIC-DAO)
Для интеграции с ElasticSearch необходимо настроить следующие параметры:
Параметры сервиса ELASTIC-DAO:
| Параметр | Описание |
|---|---|
elastic-nodes | Узлы кластера ElasticSearch. Список elastic-node |
elastic-node | Узел кластера ElasticSearch (FQDN, IP-адрес) |
elastic-default-port | Порт, по умолчанию 9200 |
elastic-default-protocol | Протокол. По умолчанию http |
elastic-file-index | Наименование индекса. По умолчанию files |
elastic-cluster | Кластер ElasticSearch. По умолчанию elasticsearch |
pass-through | Обход логики работы сервиса. При true сервис имитирует успешное завершение при недоступности ElasticSearch, не выключая задач постпроцессинга. По умолчанию — обычный режим |
- Сервис антивирусной защиты (
AV-SERVICE)
Параметры сервиса AV-SERVICE
| Параметр | Описание |
|---|---|
| scan-engine | Используемый AV (CLAMAV, KSE, KESL) |
| pass-through | Обход логики работы сервиса. Если по каким-то причинам смежная система недоступна (или будет недоступна) длительное время, то значение true для этого параметра позволит имитировать успешное завершение работы сервиса не выключая задач постпроцессинга. Если значение true явно не указано, то сервис работает в обычном режиме |
| silent | Режим тишины. Значение true отключает вывод в лог активности антивируса. Значение false – осуществляется запись в лог. Если явно не указано, принимается значение true (вывод в лог отключен) |
| Параметры CLAMAV/DR.WEB, Параметры KSE (Kaspersy Scan Engine), Параметры KESL (Kaspersky Endpoint Security для Linux) | |
| host | Хост сервиса, по умолчанию localhost |
| port | Порт, по умолчанию 7000 |
| platform | Тип ОС смежной системы, на которой базируется антивирус. По умолчанию UNIX |
| scan-method | Метод сканирования файла (STREAM, PATH). По умолчанию STREAM |
| kse-url | URL сервиса Kaspersky Scan Engine (например http://mc.iqr.su:7300) |
| kse-scan-method | Используемый метод сканирования SCANMEMORY или SCANFILE |
| kse-upbuffer-path | Используется для режима SCANFILE. Точка монтирования на хосте с KSE (mode 440 для пользователя, под которым работает KSE) буфера приема загружаемых файлов (upbuffer), например: $WILDFLY_HOME/storage/upbuffer/ |
| kse-timeout | Таймаут сокетов (мс). При увеличении размера сканируемого файла может потребоваться увеличение значения. По умолчанию - 15000 |
| kse-scanmemory-buffer-size | Размер буфера памяти (чанка), через который файл отправляется в KSE (байт). По умолчанию - 131072 |
| kse-alternative-clean-responses | Дополнительный список ответов KSE, сообщающих об отсутствии вируса. Если параметр "kse-alternative-clean-responses" не указан в valo_services.xml, то за чистый ответ принимается "CLEAN", остальные ответы - "DETECT". Если ответ KSE не входит в список ответов, указанных в "kse-alternative-clean-responses", то ответ принимается как "DETECT". По умолчанию принимается: DETECT - ответ KSE на обработку зараженного блока (файла) CLEAN - ответ KSE на обработку чистого блока (файла) |
| kesl-url | URL сервиса KESL (например http://kesl.valo.lab:8085/scans) |
| kesl-connect-timeout | Таймаут сокетов (мс). При увеличении размера сканируемого файла может потребоваться увеличение значения. По умолчанию - 60 |
| kesl-read-timeout | Таймаут на ожидание ответа от KESL (мс). При увеличении размера сканируемого файла может потребоваться увеличение значения. По умолчанию - 60 |
| kesl-write-timeout | Таймаут на ожидание передачу файла в KESL (мс). При увеличении размера сканируемого файла может потребоваться увеличение значения. По умолчанию - 60 |
| kesl-x-api-key | Ключ авторизации в KESL. Необязательный параметр |
| kesl-alternative-clean-responses | Дополнительный список ответов KESL, сообщающих об отсутствии вируса. Если параметр "kesl-alternative-clean-responses" не указан в valo_services.xml, то за чистый ответ принимается "CLEAN", остальные ответы - "DETECT". Если ответ KESL не входит в список ответов, указанных в "kesl-alternative-clean-responses", то ответ принимается как "DETECT" По умолчанию принимается: DETECT - ответ KESL на обработку зараженного блока (файла) CLEAN - ответ KESL на обработку чистого блока (файла) |
- сервис создания миниатюр/thumbnail (TN-SERVICE) для файлов, загружаемых в Систему
Параметры сервиса TN-SERVICE
| Параметр | Описание |
|---|---|
| office-home | Домашняя папка установленного LibreOffice или OpenOffice (если не указать, будет автоопределение) |
| working-dir | Рабочая папка OfficeManager'a LibreOffice или OpenOffice в которой будут создаваться временные папки и файлы, по умолчанию - /tmp |
| initial-port | Начальный порт пула коннектов (по умолчанию = 2012). В зависимости от размера пула, количество задейст вованных портов будет увеличиваться |
| task-queue-timeout | Таймаут ожидания свободного офисного процесса (мсек, по умолчанию = 30000) |
| task-execution-timeout | Таймаут исполнения задачи преобразования (мсек, по умолчанию = 120000) |
| process-timeout | Таймаут обращения к офисному процессу (start/terminate) (мсек, по умолчанию = 120000) |
| max-tasks-per-process | Максимум задач на один процесс, по умолчанию - 16 |
| thumbnail-quality | Качество миниатюры (1.0% - 100.0%), по умолчанию – 70.0 |
| Mini Thumbnail | |
| width | Ширина в пикселях. По умолчанию - 120 |
| height | Высота в пикселях. По умолчанию - 120 |
| Maxi Thumbnail | |
| width | Ширина в пикселях. По умолчанию - 480 |
| height | Высота в пикселях. По умолчанию - 480 |
- сервис, отвечающий за физическое перемещение файлов между хранилищами тенанта (FR-SERVICE);
- шлюз (IW-GATE-SERVICE) к смежному сервису InfoWatch TM и ему подобным DLP-системам. В зависимости от реализации смежной Системы могут быть задействованы сервисы, контролирующие ответы на файловой системе (FS-WATCHER-SERVICE, FS-WATCHER-NOTIFY-HANDLER), в противном случае ответ от смежной Системы приходит с использованием протокола ICAP. Для интеграции с DLP-системой по протоколу ICAP следует настроить такие параметры:
| Параметр | Описание |
|---|---|
| host | Хост сервиса, по умолчанию localhost. (Параметр устарел. Используется для обратной совместимости) |
| port | Порт, по умолчанию 1344. (Параметр устарел. Используется для обратной совместимости) |
| maximum-redeliveries | Макс. кол-во повторов сообщений (-1 для неограниченного количества) |
| url | URL DLP-системы формата http://host:port/resource |
| service-name | Имя метода ICAP, по умолчанию reqmod |
| profile | Профиль, по умолчанию default |
| allow-204 | Отключаем модификацию запроса в ответе ICAP, по умолчанию true |
| is-preview | Отключаем возможность анализа запроса по первым previewBytes байтам, по умолчанию false |
| preview-bytes | Количество первых байт в запросе, по которым ICAP может принять решение, по умолчанию 0 |
| proxy-host | Общий прокси-сервер, именем которого оперируют сервера приложений для интеграции с ICAP-сервисом |
| timeout | Тайм-аут (в мс) соединения с DLP-системой, по умолчанию 30000 |
| silent | Режим тишины. Значение true отключает вывод в лог запроса и ответа DLP-системы. Значение false – осуществляется запись в лог. Если явно не указано, принимается значение true (вывод в лог отключен) |
| pass-through | Обход логики работы сервиса. Если по каким-то причинам смежная система недоступна (или будет недоступна) длительное время, то значение true для этого параметра позволит имитировать успешное завершение работы сервиса не выключая задач постпроцессинга. Если значение true явно не указано, то сервис работает в обычном режиме |
| service-class | Класс сервиса, обеспечивающий интеграцию с DLP-системой, по умолчанию - InfoWatchIcapGateService |
| encode-url | Управляет кодированием URL-запроса. Должно быть выключено для InfoWatch TM, по умолчанию - true |
| use-multipart-form-data | Флаг, позволяющий использовать multipart-form-data в запросах в сторону DLP, по умолчанию - true |
- шлюз (SANDBOX-GATE-SERVICE) к смежному SANDBOX-сервису. Настройки шлюза аналогичны IW-GATE-SERVICE при использовании протокола ICAP.
Параметры KATA (Kaspersky Anti Targeted Attack)
| Параметр | Описание |
|---|---|
| service-class | Класс сервиса, обеспечивающий интеграцию с SANDBOX-системой по протоколу ICAP, по умолчанию - SandboxIcapGateService |
| Параметры KATA (Kaspersky Anti Targeted Attack) | |
| service-class | SandboxKataGateService |
| url | URL сервиса KATA (например http://kata.valo.lab:443/kata/scanner/v1/sensors) |
| sensor-id | ID сенсора KATA, по умолчанию - valo |
| sensor-instance-id | ID экземпляра сенсора KATA, по умолчанию - 1 |
| cert-file-path | Путь к клиентскому сертификату (в формате PKCS12) на сервере приложений |
| pass-phrase | Пароль к клиентскому сертификату |
- сервис формирования preview (PREVIEW-SERVICE);
Параметры сервиса PREVIEW-SERVICE
| Параметр | Описание |
|---|---|
| office-home | Домашняя папка установленного LibreOffice или OpenOffice (если не указать, будет автоопределение) |
| working-dir | Рабочая папка OfficeManager'a LibreOffice или OpenOffice в которой будут создаваться временные папки и файлы, по умолчанию - /tmp |
| initial-port | Начальный порт пула коннектов (по умолчанию = 2022). В зависимости от размера пула, количество задействованных портов будет увеличиваться |
| task-queue-timeout | Таймаут ожидания свободного офисного процесса (мсек, по умолчанию = 30000) |
| task-execution-timeout | Таймаут исполнения задачи преобразования (мсек, по умолчанию = 120000) |
| process-timeout | Таймаут обращения к офисному процессу (start/terminate) (мсек, по умолчанию = 120000) |
| max-tasks-per-process | Максимум задач на один процесс, по умолчанию - 16 |
- пул сервисов OpenOffice или LibreOffice (PREVIEW-OFFICE-MANAGER-POOL) для формирования pdf-preview;
Параметры пула сервисов PREVIEW-OFFICE-MANAGER-POOL
| Параметр | Описание |
|---|---|
| office-home | Домашняя папка установленного LibreOffice или OpenOffice (если не указать, будет автоопределение) |
| working-dir | Рабочая папка OfficeManager'a LibreOffice или OpenOffice в которой будут создаваться временные папки и файлы, по умолчанию - /tmp |
| initial-port | Начальный порт пула коннектов (по умолчанию = 2002). В зависимости от размера пула, количество задействованных портов будет увеличиваться |
| task-queue-timeout | Таймаут ожидания свободного офисного процесса (мсек, по умолчанию = 30000) |
| task-execution-timeout | Таймаут исполнения задачи преобразования (мсек, по умолчанию = 120000) |
| process-timeout | Таймаут обращения к офисному процессу (start/terminate) (мсек, по умолчанию = 120000) |
| max-tasks-per-process | Максимум задач на один процесс (по умолчанию = 200) |
- сервис отправки SMS-сообщений через шлюз Kannel (SMS-GATE-SERVICE); Каждый тенант может использовать свой SMS-шлюз для SMS-уведомлений
Параметры сервиса SMS-GATE-SERVICE
| Параметр | Описание |
|---|---|
| sms_send_url | URL шлюза Kannel http://127.0.0.1:13013/cgi-bin/sendsms |
| sms_sender_name | Имя пользователя отправителя сообщения |
| sms_sender_password | Пароль |
| sms_from | Строка, формирующая поле “От кого” (отправитель). Макс. 11 симолов |
| sms_validity_period | Время жизни SMS-сообщения в минутах (максимум – 1440, по-умолчанию - 720). |
- сервис отправки eMail-сообщений (SMTP-GATE-SERVICE);
Параметры сервиса SMTP-GATE-SERVICE
| Параметр | Описание |
|---|---|
| smtp_auth | Используем smtp-аутентификацию |
| smtp_username | Имя пользователя |
| smtp_password | Пароль |
| smtp_starttls | Создаем зашифрованное соединение с SMTP-сервером |
| smtp_host | Адрес SMTP-сервера |
| smtp_port | Порт |
| smtp_sender_name | Имя отправителя |
| smtp_sender_email | Адрес электронной почты отправителя |
| smtp_reply_to_email | Адрес электронной почты для ответов |
- сервис, формирующий архивы (ZIP-SERVICE);
- сервис, удаляющий файлы из хранилищ тенанта (FD-SERVICE);
- сервис шифрования (ENC-SERVICE);
Непосредственно сам сервис шифрования не имеет специфичных настроек, однако в зависимости от развернутого при установке плагина (plugin-trans-256 или plugin-transform) допускается использование алгоритмов шифрования “AES-256” или “ГОСТ Р 34.12-2015”. В конфигурационном файле valo-services.xml в этом случае появится запись об используемом плагине, например
<plugin id="VAC-Transform"...>или<plugin id="VAC-Trans-256 "...>; - сервис отправки Push-уведомлений через Google FCM (FCM-GATE-SERVICE). Каждый тенант может использовать свой шлюз для Push-уведомлений
Параметры сервиса FCM-GATE-SERVICE
| Параметр | Описание |
|---|---|
| firebase_url | FCM URL к базе проекта VALO https://valo3-dc001.firebaseio.com |
| firebase_account_path | Путь к файлу, содержащему учетную запись проекта в FCM $WILDFLY_HOME/fcm/default/valo3-dc001-firebase.json |
| default_ttl | Время жизни пуш-уведомлений По умолчанию 24 часа |
· сервис рассылки комментариев посредством сообщений синхронизации (SYNC-NOTIFY-SERVICE); · сервис репликации сущностей (ENTITY-TRANSFER-SERVICE), использующийся для формирования уведомлений по произошедшим бизнес-событиям. При настройке сервиса ENTITY-TRANSFER-SERVICE следует обратить особое внимание на такие параметры:
Параметры сервиса ENTITY-TRANSFER-SERVICE
| Параметр | Описание |
|---|---|
| maximum-redeliveries | Макс. кол-во повторов сообщений (-1 for unlimited). Рекомендуемое начальное значение = -1 |
| use-exponential-backoff | Использовать экспоненциальное увеличение задержки повтора. Рекомендуемое начальное значение = true |
| backoff-multiplier | Коэффициент экспоненциального увеличения задержки повтора. Рекомендуемое начальное значение = 2 |
| initial-redelivery-delay | Начальная задержка повтора в миллисекундах. Рекомендуемое начальное значение = 1000 |
| maximum-redelivery-delay | Максимальная задержка повтора в миллисекундах (-1 for unlimited). Рекомендуемое начальное значение = 16000 |
| use-collision-avoidance | Использование collision avoidance. Рекомендуемое начальное значение = true |
| collision-avoidance-percent | Процент collision avoidance (0-100). Рекомендуемое начальное значение = 20 |
| pass-through | Обход логики работы сервиса. Если по каким-то причинам смежная система недоступна (или будет недоступна) длительное время, то значение true для этого параметра позволит имитировать успешное завершение работы сервиса. Если значение true явно не указано, то сервис работает в обычном режиме |
- сервис заполнения пользовательской ленты событий (EVENTS-FEED-FILLER-SERVICE) по произошедшим бизнес-событиям. Настройка сервиса EVENTS-FEED-FILLER-SERVICE аналогична настройке сервиса ENTITY-TRANSFER-SERVICE;
- сервис обработки системных событий (SYS-NOTIFY-SERVICE), использующийся для формирования уведомлений по произошедшим системным-событиям
- сервис с идентификатором PRODUCERS-POOL не является сервисом как таковым, однако определяет общие параметры для издателей JMS-сообщений
Комментарии к остальным параметрам сервисов:
| Параметр | Описание |
|---|---|
<broker-url> | URL, содержащий список брокеров для межсервисного взаимодействия. Для обеспечения отказоустойчивости должен содержать ключевое слово failover. Например: <broker-url>failover:(tcp://localhost:61616,tcp://remotehost:61617)?initialReconnectDelay=10&randomize=false</broker-url>. В зависимости от используемого механизма аутентификации может быть представлен в виде <broker-url>failover:(ssl://localhost:61616,ssl://remotehost:61617)?initialReconnectDelay=10&randomize=false</broker-url>. initialReconnectDelay определяет задержку в 10 мс перед первой попыткой произвести повторное подключение; Параметр randomize отключает (false) случайный выбор доступного брокера. |
<username>, <password> | Используются для аутентификации сервисов на брокере посредством пары логин/пароль |
<keystore-path>, <keystore-password>, <truststore-path>, <truststore-password> | Используются для ssl-аутентификации сервисов на брокере |
<client-broker-url> | URL, содержащий список брокеров для взаимодействия с клиентской частью приложения. Формат записи похож на broker-url> Например: <client-broker-url>stomp://mc.iqr.su:61613,ws://mc.iqr.su:61614</client-broker-url>. Клиентская часть приложения не использует механизмов ssl для аутентификации. Клиентские брокеры не обеспечены failover механизмом. Ожидается, что отказоустойчивое соединение с ними должно быть реализовано на уровне клиентской части приложения или в проксирующем слое. Поэтому, если клиентский брокер и межсервисный брокер расположены на одних и тех же хостах или это один и тот же брокер, то последовательность клиентских брокеров следует указывать согласно последовательности межсервисных брокеров, указанных в параметре <broker-url>. |
<pool-size> | Количество экземпляров сервисов. Для "пресейл" активности достаточно иметь не более "2" экземпляров каждого сервиса. Для "предпрод" - не менее "4" экземпляров, для "прод" - по количеству тенантов (но не менее двух) |
<queue-name> | Наименование очереди консюмера асинхронного сервиса VALO Cloud. По умолчанию именуется как $SERVICE_NAME.InputQueue, например FR-SERVICE.InputQueue |
| maximum-redeliveries | Количество повторов сообщений. По умолчанию = 6, не ограниченно = -1. Справедливо для всех сервисов кроме SMTP-GATE-SERVICE, ELASTIC-DAO, FCM-GATE-SERVICE |
Общие замечания
Поскольку сервера приложений могут обмениваться между собой информацией об изменении в конфигурации сервисов посредством топика "JMS-SERVICES.CONFIG-CHANGES.Topic" КРАЙНЕ ВАЖНО при развертывании очередного сервера приложений в дополнение к существующим обеспечить его актуальным файлом valo-services.xml!
Значение параметра <broker-url> должно совпадать на всех используемых серверах приложений!
Если какой-либо сервис не используется и его использование не предпологается, то в целях сокращения потребляемой памяти следует уменьшить количество экземпляров сервиса до нуля
<pool-size>0</pool-size>.
Не следует стремиться использовать всю доступную память в JVM heap. Для нормальной работы сервисов оставляйте нераспределенными не менее 2Gb под асинхронные сервисы VALO Cloud.
Пример файла valo-services.xml
<valo-services-configuration xmlns="urn:iqr:valo:pro:3.0">
<services>
<!--
Значения параметров "по умолчанию".
Если аналогичный параметр не определен в другой секции "service",
то при чтении он принимает значение из секции "DEFAULT".
-->
<service id="DEFAULT">
<broker-url>failover://tcp://localhost:61616</broker-url>
<!-- <broker-url>ssl://localhost:61617</broker-url> -->
<pool-size>2</pool-size>
<!--
username и password используются для аутентификации (и, возможно, авторизации) пользователя в ActiveMQ (если они там настроены).
-->
<username>publisher</username>
<password>password</password>
<!--
Параметры ниже используются только если коннект выполняется через ssl-акцептор
-->
<keystore-path>/opt/activemq/conf/myclient.ks</keystore-path>
<keystore-password>d5nH7z//SkJcF2cLQJac80b+JNpkFR9mvru5iwiqlH5PjYYtI8nDS/f1se8V6cLw7xU7+9PT</keystore-password>
<truststore-path>/opt/activemq/conf/myclient.ts</truststore-path>
<truststore-password>YWRW5eZOFhm/BH7CcZ8c+sfxB6Zi5AvPXMHMbevXjmsRlcvJH9/xb+jPgYD4aVDgQaOH+XXe</truststore-password>
<!--
Параметр добавляется автоматически. Вручную не менять!
-->
<plugin id="VAC-Transform" jndi="java:jboss/exported/transform-plugin-1.0.0.0/transform-plugin-1.0.0.0/TransformPlugin!pro.valo.iqreserve.plugins.ITransformPlugin" timestamp="20240211050710241023" type="transform"/>
<plugin id="VAC-Trans-256" jndi="java:jboss/exported/trans-256-plugin-1.0.0.0/trans-256-plugin-1.0.0.0/Trans256Plugin!pro.valo.iqreserve.plugins.ITransformPlugin" timestamp="20240211050710241023" type="transform"/>
<plugin id="VAS-S3" jndi="java:jboss/exported/storage-plugins-1.0.0.0/ac3-plugin-1.0.0.0/Ac3FilePlugin!pro.valo.iqreserve.plugins.IFilePlugin" timestamp="20240211050710814391" type="storage"/>
<plugin id="VAS-FileSystem" jndi="java:jboss/exported/valorest-3.0.0.0/FileModuleBaseFilePlugin!pro.valo.iqreserve.plugins.IFilePlugin" timestamp="20240211050710814391" type="storage"/>
</service>
<service id="SYNCHRO-POOL">
<broker-url>failover://tcp://localhost:61616</broker-url>
<client-broker-url>stomp://localhost:61613,ws://localhost:61614</client-broker-url>
<pool-size>8</pool-size>
</service>
<!--
Параметры пула jms-продюсеров API.
-->
<service id="PRODUCERS-POOL">
<pool-size>8</pool-size>
</service>
<!--
Параметры пула jms-продюсеров сервисов.
-->
<service id="SERVICES-PRODUCERS-POOL">
<pool-size>8</pool-size>
</service>
<!-- Параметры jms-консьюмеров сервиса "JOURNAL-SERVICE" (логирование). -->
<service id="JOURNAL-SERVICE">
<pool-size>1</pool-size>
<log-types>
<!-- <log-type type="ELASTIC"/> -->
<!-- <log-type type="CONSOLE"/> -->
<log-type type="SYSLOG">
<auth-log-prefix>log</auth-log-prefix>
<data-log-prefix>log</data-log-prefix>
<rights-log-prefix>log</rights-log-prefix>
<!-- Тип верстки сообщения ('pretty-json' / 'plain text'). По умолчанию 'plain text' -->
<pretty-json>false</pretty-json>
</log-type>
</log-types>
</service>
<!-- Параметры jms-консьюмеров сервиса "ES-SERVICE" (ElasticSearch). -->
<service id="ES-SERVICE">
<max-chars>200000</max-chars>
<!-- Максимальное количество символов индексации -->
</service>
<!-- Параметры сервиса DAO ElasticSearch. -->
<service id="ELASTIC-DAO">
<elastic-nodes>
<elastic-node>
<host>elasticsearch</host>
</elastic-node>
<!-- <elastic-node>
<host>10.0.110.130</host>
</elastic-node>
<elastic-node>
<host>10.0.110.134</host>
</elastic-node>
<elastic-node>
<host>10.0.110.135</host>
</elastic-node> -->
</elastic-nodes>
<!-- Адрес ES -->
<elastic-default-port>9200</elastic-default-port>
<!-- Порт ES -->
<elastic-default-protocol>http</elastic-default-protocol>
<elastic-file-index>files</elastic-file-index>
<!-- Наименование индекса -->
<elastic-cluster>elasticsearch</elastic-cluster> -->
<!-- Кластер ES-->
</service>
<!--
Параметры jms-консьюмеров сервиса "AV".
-->
<!--
Параметры jms-консьюмеров сервиса "AV".
-->
<service id="AV-SERVICE">
<pool-size>2</pool-size>
<queue-name>AV-SERVICE.InputQueue</queue-name>
<!-- Режим обхода смежной системы -->
<pass-through>false</pass-through>
<!-- Режим записи в лог. false - лог пишется -->
<silent>false</silent>
<!-- CLAMAV или KSE. Если engine не указан, то будет использован CLAMAV -->
<scan-engine>KSE</scan-engine>
<!-- Параметры для CLAMAV -->
<host>127.0.0.1</host>
<port>3310</port>
<!-- UNIX, WINDOWS или JVM_PLATFORM -->
<platform>WINDOWS</platform>
<!-- PATH или STREAM -->
<scan-method>PATH</scan-method>
<!-- Параметры для KSE -->
<!-- KSE URL -->
<kse-url>http://mc.iqr.su:7300</kse-url>
<!-- Scan method (SCANMEMORY или SCANFILE) -->
<kse-scan-method>SCANFILE</kse-scan-method>
<!-- Путь, как виден апбуфер со стороны kse-хоста -->
<kse-upbuffer-path>/opt/wildfly/storage/upbuffer/</kse-upbuffer-path>
<!-- Socket Timeout in msec -->
<kse-timeout>15000</kse-timeout>
<!-- Scanmemory buffer size in bytes -->
<kse-scanmemory-buffer-size>131072</kse-scanmemory-buffer-size>
<!-- Alterantive clean responses list -->
<kse-alternative-clean-responses>
<response>NON_SCANNED</response>
<response>NON_SCANNED (CANCELED)</response>
<response>NON_SCANNED (CORRUPTED)</response>
<response>NON_SCANNED (ACCESS DENIED)</response>
<response>NON_SCANNED (SKIPPED)</response>
<response>NON_SCANNED (PASSWORD PROTECTED)</response>
</kse-alternative-clean-responses>
<!-- Параметры для KESL -->
<!-- KESL URL -->
<kesl-url>http://tika.valo.lab:8085/scans</kesl-url>
<!-- Таймауты в секундах -->
<kesl-connect-timeout>60</kesl-connect-timeout>
<kesl-read-timeout>60</kesl-read-timeout>
<kesl-write-timeout>60</kesl-write-timeout>
<!-- Необязательный параметр x-api-key -->
<kesl-x-api-key/>
<!-- Alternative clean responses list -->
<kesl-alternative-clean-responses>
<response>non scanned</response>
</kesl-alternative-clean-responses>
</service>
<!--
Параметры jms-консьюмеров сервиса "TN".
-->
<service id="TN-SERVICE">
<pool-size>1</pool-size>
<queue-name>TN-SERVICE.InputQueue</queue-name>
<thumbnailer>
<mini-thumbnail>
<!-- mini-превьюшка -->
<width>120</width>
<!-- ширина в пикселях -->
<height>120</height>
<!-- высота в пикселях -->
</mini-thumbnail>
<maxi-thumbnail>
<!-- maxi-превьюшка -->
<width>480</width>
<!-- ширина в пикселях -->
<height>480</height>
<!-- высота в пикселях -->
</maxi-thumbnail>
<!-- Качество превьюшки: float 1.0-100.0% -->
<thumbnail-quality>70.0</thumbnail-quality>
<!-- домашняя папка установленного LibreOffice или OpenOffice (если не указать, будет автоопределение) -->
<office-home>/usr/lib64/libreoffice</office-home>
<!-- начальный порт пула коннектов (если не указать, то по умолчанию = 2002) -->
<initial-port>2012</initial-port>
<!-- таймаут ожидания свободного офисного процесса (мсек, default = 30000) -->
<task-queue-timeout>60000</task-queue-timeout>
<!-- таймаут ис полнения задачи преобразования (мсек, default = 120000) -->
<task-execution-timeout>60000</task-execution-timeout>
<!-- таймаут обращения к офисному процессу (start/terminate) (мсек, default = 120000) -->
<process-timeout>60000</process-timeout>
<!-- максимум задач на один процесс (default = 200) -->
<max-tasks-per-process>16</max-tasks-per-process>
<!-- рабочая папка OfficeManager'a в которой будут создаваться временные папки и файлы, по умолчанию - /tmp -->
<working-dir>/tmp/office-manager</working-dir>
</thumbnailer>
<!-- Настройки Graphics-Magick'a -->
<graphics-magick>
<supported_file_extensions>3fr,arw,bie,bmp,bmpf,cals,ciff,cr2,crw,cut,dcr,dib,dng,dpx,emf,epdf,epi,eps,eps2,eps3,epsf,epsi,erf,fits,fpix,fpx,g3,gif,giff,gp4,hrz,j2c,j2k,jbg,jbig,jng,jp2,jpc,jpeg,jpeg2000,jpf,jpg,jpg2,jpx,kdc,mac,mat,mef,miff,mil,mng,mrw,mtv,mvg,nef,npx,orf,otb,p7,palm,pam,pbm,pcd,pcds,pct,pcx,pdb,pef,pfa,pfb,pgm,picon,pict,png,png00,png24,png32,png48,png64,png8,pnm,ppm,ps,ps2,ps3,ptif,raf,rl4,rl8,rla,sfw,sgi,sr2,srf,sun,svg,svgz,tga,tif,tiff,ttf,vga,vicar,viff,wbmp,webp,wmf,x3f,xbm,xpm</supported_file_extensions>
</graphics-magick>
</service>
<!--
Параметры jms-консьюмеров сервиса "File-Relocation".
-->
<service id="FR-SERVICE">
<pool-size>3</pool-size>
<queue-name>FR-SERVICE.InputQueue</queue-name>
</service>
<!--
Параметры jms-консьюмеров сервиса "InfoWatch-Gate".
-->
<service id="IW-GATE-SERVICE">
<pool-size>4</pool-size>
<queue-name>IW-GATE-SERVICE.InputQueue</queue-name>
<!-- Режим pass-through -->
<pass-through>false</pass-through>
<!-- Режим записи в лог. false - лог пишется -->
<silent>false</silent>
<!-- Макс. кол-во повторов сообщений (-1 for unlimited) -->
<maximum-redeliveries>0</maximum-redeliveries>
<!-- IW Thrift service и его параметры -->
<!--
<service-class>InfoWatchThriftGateService</service-class>
<host>localhost</host>
<port>9101</port>
<company-name>Intellektualnyj_Rezerv</company-name>
<token>fd91y7xxeqi81btukppe</token>
-->
<!-- ICAP service и его параметры -->
<service-class>InfoWatchIcapGateService</service-class>
<pool-size>2</pool-size>
<host>10.0.110.141</host>
<port>1344</port>
<service-name>reqmod</service-name>
<!-- Отключаем модификацию запроса -->
<allow-204>true</allow-204>
<!-- Режим предпросмотра сообщений -->
<is-preview>false</is-preview>
<!-- Режим сообщения в режиме предпросмотра -->
<preview-bytes>4096</preview-bytes>
<!-- Управляет кодированием URL-запроса. Должно быть выключено для InfoWatch TM -->
<encode-url>true</encode-url>
<!-- Общий прокси-сервер, именем которого оперируют сервера приложений для интеграции с ICAP-сервисом -->
<proxy-host>cloud.psbbank.ru</proxy-host>
<!-- Socket Timeout, ms -->
<timeout>30000</timeout>
<!-- StaffCop service и его параметры -->
<service-class>InfoWatchIcapGateService</service-class>
<pool-size>2</pool-size>
<url>http://localhost:13440/staffcop</url>
<service-name>reqmod</service-name>
<use-multipart-form-data>true</use-multipart-form-data>
</service>
<!--
Параметры jms-консьюмеров сервиса "SandBox-Gate".
-->
<service id="SANDBOX-GATE-SERVICE">
<!-- ОБЩИЕ ПАРАМЕТРЫ -->
<!-- Размер пула -->
<pool-size>4</pool-size>
<!-- Входная очередь -->
<queue-name>SANDBOX-GATE-SERVICE.InputQueue</queue-name>
<!-- Режим обхода сервиса -->
<pass-through>false</pass-through>
<!-- Режим записи в лог. false - лог пишется -->
<silent>false</silent>
<!-- Socket Timeout, ms -->
<timeout>30000</timeout>
<!-- SANDBOX ICAP GATE SERVICE и его параметры -->
<!-- Класс сервиса -->
<service-class>SandboxIcapGateService</service-class>
<!-- Хост ICAP-сервис -->
<host>localhost</host>
<!-- Порт ICAP-сервис -->
<port>9090</port>
<!-- URL ICAP-сервиса -->
<!-- Хост и порт оставлены для обратной совместимости -->
<url>http://localhost:1344/reqmod</url>
<!-- Режим работы ICAP-сервиса (сервис) -->
<service-name>REQMOD</service-name>
<!-- Отключаем модификацию запроса -->
<allow-204>true</allow-204>
<!-- Режим предпросмотра сообщений -->
<is-preview>false</is-preview>
<!-- Общий прокси-сервер, именем которого оперируют сервера приложений для интеграции с ICAP-сервисом -->
<proxy-host>cloud.psbbank.ru</proxy-host>
<!-- SANDBOX KATA GATE SERVICE и его параметры -->
<!-- Класс сервиса -->
<service-class>SandboxKataGateService</service-class>
<!-- URL KATA API -->
<url>https://213.247.136.206:443/kata/scanner/v1/sensors</url>
<!-- ID сенсора KATA -->
<sensor-id>valo</sensor-id>
<!-- ID экземпляра сенсора KATA -->
<sensor-instance-id>instance1</sensor-instance-id>
<!-- Путь к клиентскому сертификату (в формате PKCS12) -->
<cert-file-path>D:\0\271\cert2.p12</cert-file-path>
<!-- Пароль к клиентскому сертификату -->
<pass-phrase>123</pass-phrase>
</service>
<!--
Параметры jms-продюсеров сервиса "FS-Watcher".
-->
<service id="FS-WATCHER-SERVICE">
<pool-size>3</pool-size>
<queue-name>FS-WATCHER-SERVICE.OutputQueue</queue-name>
<watch-path>/opt/jboss/wildfly/tmp</watch-path>
<out-path>/opt/jboss/wildfly/tmp</out-path>
</service>
<!--
Параметры jms-консьюмеров обработки уведомлений от сервиса "FS-Watcher".
-->
<service id="FS-WATCHER-NOTIFY-HANDLER">
<pool-size>2</pool-size>
<queue-name>FS-WATCHER-SERVICE.OutputQueue</queue-name>
</service>
<!--
Параметры jms-консьюмеров сервиса "PREVIEW-SERVICE".
-->
<service id="PREVIEW-SERVICE">
<pool-size>1</pool-size>
<!-- домашняя папка установленного LibreOffice или OpenOffice (если не указать, будет автоопределение) -->
<office-home>/usr/lib64/libreoffice</office-home>
<!-- начальный порт пула коннектов (если не указать, то по умолчанию = 2002) -->
<initial-port>2022</initial-port>
<!-- таймаут ожидания свободного офисного процесса (мсек, default = 30000) -->
<task-queue-timeout>30000</task-queue-timeout>
<!-- таймаут исполнения задачи преобразования (мсек, default = 120000) -->
<task-execution-timeout>60000</task-execution-timeout>
<!-- таймаут обращения к офисному процессу (start/terminate) (мсек, default = 120000) -->
<process-timeout>60000</process-timeout>
<!-- максимум задач на один процесс (default = 200) -->
<max-tasks-per-process>2</max-tasks-per-process>
<!-- рабочая папка OfficeManager'a в которой будут создаваться временные папки и файлы, по умолчанию - /tmp -->
<working-dir>/tmp/office-manager</working-dir>
</service>
<!--
Параметры пула офис-менеджера, использующегося для генерации preview pdf-файлов.
-->
<service id="PREVIEW-OFFICE-MANAGER-POOL">
<!-- число офисных процессов в пуле -->
<pool-size>1</pool-size>
<!-- домашняя папка установленного LibreOffice или OpenOffice (если не указать, будет автоопределение) -->
<office-home>/usr/lib64/libreoffice</office-home>
<!-- начальный порт пула коннектов (default = 2002) -->
<initial-port>2002</initial-port>
<!-- таймаут ожидания свободного офис ного процесса (мсек, default = 30000) -->
<task-queue-timeout>60000</task-queue-timeout>
<!-- таймаут исполнения задачи преобразования (мсек, default = 120000) -->
<task-execution-timeout>60000</task-execution-timeout>
<!-- таймаут обращения к офисному процессу (start/terminate) (мсек, default = 120000) -->
<process-timeout>60000</process-timeout>
<!-- максимум задач на один процесс (default = 200) -->
<max-tasks-per-process>16</max-tasks-per-process>
<!-- рабочая папка OfficeManager'a в которой будут создаваться временные папки и файлы, по умолчанию - /tmp -->
<working-dir>/tmp/office-manager</working-dir>
</service>
<!--
Параметры jms-консьюмеров, отправляющих СМС-сообщения через шлюз kannel.
-->
<service id="SMS-GATE-SERVICE">
<pool-size>1</pool-size>
<!-- Параметры по умолчанию, могут быть перекрыты для каждого тенанта -->
<tenant id="DEFAULT">
<sms_send_url>http://127.0.0.1:13013/cgi-bin/sendsms</sms_send_url>
<sms_sender_name>sender</sms_sender_name>
<sms_sender_password>sender_password</sms_sender_password>
<!-- from, max 11 chars -->
<sms_from>VALO3</sms_from>
<!-- validity-period in minutes, max = 1440 -->
<sms_validity_period>720</sms_validity_period>
</tenant>
<!-- Индивидуальные настройки тенантов -->
<tenant id="public">
<!-- from, max 11 chars -->
<sms_from>IQ-RESERVE</sms_from>
</tenant>
<tenant id="tenant1">
<!-- from, max 11 chars -->
<sms_from>TENANT1</sms_from>
<sms_sender_name>tenant1</sms_sender_name>
<sms_sender_password>tenant1_password</sms_sender_password>
</tenant>
</service>
<!--
Параметры jms-консьюмеров, отправляющих email-сообщения.
-->
<service id="SMTP-GATE-SERVICE">
<!-- Параметры по умолчанию, могут быть перекрыты для каждого тенанта -->
<tenant id="DEFAULT">
<smtp_host>localhost</smtp_host>
<smtp_port>25</smtp_port>
<smtp_starttls>true</smtp_starttls>
<smtp_auth>true</smtp_auth>
<smtp_username>noreply@iqr.su</smtp_username>
<smtp_password>smtp_password</smtp_password>
</tenant>
<!-- Индивидуальные настройки тенантов добавляются автоматически из сеттингов тенанта -->
<tenant id="tenant2" timestamp="20191003075001711471">
<smtp_host>mymail.somecollege.edu</smtp_host>
<smtp_port>12121212</smtp_port>
</tenant>
<tenant id="dummy" timestamp="20210623132709344643"/>
</service>
<!--
Параметры jms-консьюмеров FD-сервиса
-->
<service id="FD-SERVICE"/>
<!--
Параметры jms-консьюмеров ENC-сервиса
-->
<service id="ENC-SERVICE"/>
<!--
Параметры jms-консьюмеров ZIP-сервиса
-->
<service id="ZIP-SERVICE"/>
<!--
Параметры jms-консьюмеров SYNC-NOTIFY-сервиса
-->
<service id="SYNC-NOTIFY-SERVICE"/>
<!--
Параметры jms-консьюмеров, отправляющих Push-уведомления с помощью Google FCM.
-->
<service id="FCM-GATE-SERVICE">
<pool-size>2</pool-size>
<queue-name>FCM-GATE-SERVICE.InputQueue</queue-name>
<!-- Параметры по умолчанию, могут быть перекрыты для каждого тенанта -->
<tenant id="DEFAULT">
<!-- FCM URL к базе проекта VALO -->
<firebase_url>https://valo3-dc001.firebaseio.com</firebase_url>
<!-- Учетная запись проекта в FCM -->
<firebase_account_path>/opt/jboss/wildfly/fcm/default/valo3-dc001-firebase.json</firebase_account_path>
<!-- Время жизни пуш-уведомлений в часах -->
<default_ttl>24</default_ttl>
</tenant>
<!-- Индивидуальные настройки тенантов добавляются автоматически из сеттингов тенанта -->
<tenant id="dummy" timestamp="20210623132709344643"/>
</service>
<!--
Параметры jms-консьюмеров сервиса репликации сущностей в БД уведолмений.
-->
<service id="ENTITY-TRANSFER-SERVICE">
<pool-size>8</pool-size>
<!-- Режим обхода сервиса -->
<pass-through>true</pass-through>
<!-- Макс. кол-во повторов сообщений (-1 for unlimited) -->
<maximum-redeliveries>-1</maximum-redeliveries>
<!-- Использовать экспоненциальное увеличение задержки повтора -->
<use-exponential-backoff>true</use-exponential-backoff>
<!-- Коэффициент экспоненциального увеличения задержки повтора -->
<backoff-multiplier>2</backoff-multiplier>
<!-- Начальная задержка повтора в миллисекундах -->
<initial-redelivery-delay>1000</initial-redelivery-delay>
<!-- Максимальная задержка повтора в миллисекундах (-1 for unlimited) -->
<maximum-redelivery-delay>16000</maximum-redelivery-delay>
<!-- Использовать collision avoidance -->
<use-collision-avoidance>true</use-collision-avoidance>
<!-- Процент collision avoidance (0-100) -->
<collision-avoidance-percent>20</collision-avoidance-percent>
</service>
<!--
Параметры jms-консьюмеров сервиса заполнения ленты событий.
-->
<service id="EVENTS-FEED-FILLER-SERVICE">
<pool-size>4</pool-size>
<!-- Макс. кол-во повторов сообщений (-1 for unlimited) -->
<maximum-redeliveries>-1</maximum-redeliveries>
<!-- Использовать э кспоненциальное увеличение задержки повтора -->
<use-exponential-backoff>true</use-exponential-backoff>
<!-- Коэффициент экспоненциального увеличения задержки повтора -->
<backoff-multiplier>2</backoff-multiplier>
<!-- Начальная задержка повтора в миллисекундах -->
<initial-redelivery-delay>1000</initial-redelivery-delay>
<!-- Максимальная задержка повтора в миллисекундах (-1 for unlimited) -->
<maximum-redelivery-delay>16000</maximum-redelivery-delay>
<!-- Использовать collision avoidance -->
<use-collision-avoidance>true</use-collision-avoidance>
<!-- Процент collision avoidance (0-100) -->
<collision-avoidance-percent>20</collision-avoidance-percent>
</service>
</services>
</valo-services-configuration>